Transforming Object-Oriented Design Pattern Structures into Layers
نویسنده
چکیده
Design patterns improve desired properties of object-oriented software. The Jak language implements layered designs that follow similar goals as design patterns, like wrapping methods on demand. In prior research we compared design pattern implementations coded in different languages, like Jak. We did not evaluate the approaches of implementing a pattern but only used the implementations for comparing languages. Therefore the compared implementations were rather small and do not say whether the proposals scale. In this study we transform and reimplement instances of all Gang-of-Four design patterns in programs like JHotDraw or Berkeley DB into Jak counterpart designs proposed earlier. We show to what extend and under which conditions object-oriented design patterns and Jak mechanisms correspond, e.g., for adding methods to classes on-demand. Most of the problems we found while transforming pattern implementations were related to diverse implementation noances of the same pattern in different programs. Second, some of the Jak approaches caused code replication or additional effort for ensuring consistent Jak module composition. Finally, passing parameters to one method in different configurations of Jak layers was more problematic than we expected before.
منابع مشابه
Design Patterns as Language Constructs ( To appear in the Journal of Object - Oriented Programming ) Jan
Design patterns have proven to be very useful for the design of object-oriented systems. The power of design patterns stems from their ability to provide generic solutions to reappearing problems that can be specialised for particular situations. The implementation of design patterns, however, has received only little attention and we have identified four problems associated with the implementa...
متن کاملAn Implementation Method for Distributed Object-Oriented Applications
Distribution has become an essential non-functional requirement of most applications. The same application may be required to use different distribution platforms simultaneously or during its evolution. However, distributed applications are considerably more difficult to design, implement and test than centralized systems even with the same functionality. We present an implementation method whi...
متن کاملEVOLVE: Adaptive Specification Techniques for Object-Oriented Software Evolution
The increased complexity of object-oriented models necessitates the enhancement of adaptiveness and robustness of an object-oriented design towards changing requirements. The understanding of what properties are critical for construction of an adaptive schema design becomes increasingly important in software evolution. In this paper we present two groups of techniques for enhancing the adaptive...
متن کاملDesign Patterns as Language Constructs
Design patterns have proven to be very useful for the design of object-oriented systems. The power of design patterns stems from their ability to provide generic solutions to reappearing problems that can be specialised for particular situations. The implementation of design patterns, however, has received only little attention and we have identified four problems associated with the implementa...
متن کاملAn Instance-Oriented Approach to Constructing Product Lines from Layers
The Model/View/Controller (MVC) paradigm, and its many variants, is a cornerstone of decoupling within object-oriented design. MVC leads to clear reuse benefits regarding the class hierarchies for the model and view elements. In practice, however, the controllers appear to defy reuse, most likely because they encapsulate specialized business logic. Within an effective product line, however, suc...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009